git-annex.git
6 months agoAdded a comment: Download with the git-annex-install script fail
waldi1985@90ec1a42d21b8182257f7a16ba8b8b08c51a0b6e [Sun, 24 Aug 2025 11:10:50 +0000 (11:10 +0000)]
Added a comment: Download with the git-annex-install script fail

6 months agoAdded a comment
Lukey [Sat, 23 Aug 2025 06:51:16 +0000 (06:51 +0000)]
Added a comment

6 months agoreject an insecure configuration
Joey Hess [Fri, 22 Aug 2025 17:35:33 +0000 (13:35 -0400)]
reject an insecure configuration

A user might expect onlyencryptcreds=yes to do some useful encryption of
the creds despite using encryption=shared. Prevent them from thinking
they have somehow secured the creds in their repository in that case.

Also reject onlyencryptcreds=yes encryption=none in case the user
somehow thinks there is creds-only encryption going on in that case.

Sponsored-by: Graham Spencer
6 months agofix specialRemote confusion with tahoe
Joey Hess [Fri, 22 Aug 2025 17:14:02 +0000 (13:14 -0400)]
fix specialRemote confusion with tahoe

tahoe: Fix bug that made initremote require an encryption= parameter,
despite git-annex encryption not being used with this special remote,
since tahoe handles encryption itself.

The chunking parameters were also accepted and won't be any longer either.
They were also not actually used.

c4ea3ca40ae6ba973287ca94e892e93973a8376e was the commit. At that point
specialRemote was being added to most remotes and I forgot tahoe doesn't
need these parameters.

Turns out that, when embedcreds=yes was used, it did *not* cause the
introducer-furl and shared-convergence-secret to be encrypted, even
though encryption= was specified. Which is only not a security hole
because encryption= was not documented to work with the tahoe special
remote at all!

It might be nice to support onlyencryptcreds=yes with tahoe, and it
would make sense to accept the encryption= parameter then, and only use
it for encrypting the creds. That would take some work, since the
encryption= parameter would need to be optional, and the usual encrypted
special remote code couldn't be used.

Sponsored-by: unqueued
6 months agodon't refer to tahoe daemon
Joey Hess [Fri, 22 Aug 2025 16:59:44 +0000 (12:59 -0400)]
don't refer to tahoe daemon

since tahoe no longer supports daemonization

6 months agoerror message typo
Joey Hess [Fri, 22 Aug 2025 16:59:06 +0000 (12:59 -0400)]
error message typo

6 months agofix disrectory name
Joey Hess [Fri, 22 Aug 2025 16:58:23 +0000 (12:58 -0400)]
fix disrectory name

6 months agoshowOutput
Joey Hess [Fri, 22 Aug 2025 16:54:43 +0000 (12:54 -0400)]
showOutput

tahoe store and retrieve both output messages which cannot be shut up with
--quiet. The messages go to stderr, which makes it hard to avoid
displaying them without hiding problems. This kinda sucks.

Using showOutput helps with output formatting, but with -J this output
is still scrambled in with the progress output.

6 months agotahoe: Support tahoe-lafs command versions newer than 1.16
Joey Hess [Fri, 22 Aug 2025 16:35:53 +0000 (12:35 -0400)]
tahoe: Support tahoe-lafs command versions newer than 1.16

tahoe start was deprecated and removed in 2020.

This feels like a very janky way to run a daemon, but it does work.

Sponsored-by: k0ld
6 months agocomment
Joey Hess [Fri, 22 Aug 2025 00:32:10 +0000 (20:32 -0400)]
comment

6 months agoreorder
Joey Hess [Thu, 21 Aug 2025 20:38:00 +0000 (16:38 -0400)]
reorder

6 months agoupdate test suite for change
Joey Hess [Thu, 21 Aug 2025 20:35:51 +0000 (16:35 -0400)]
update test suite for change

fd89e611b2310b46368c91bcd79999b0ba8462a3 changed the exit code of
git-annex sync which broke the test suite

I'm actually a bit surprised that this test's export works after the
sync fails. huh

6 months agoadd test case for enableremote changing encryption
Joey Hess [Thu, 21 Aug 2025 20:21:12 +0000 (16:21 -0400)]
add test case for enableremote changing encryption

As fixed in 6b63fb7ea29f39b0fe7632dae6951c589115ee37

Sponsored-by: Brock Spratlen
6 months agoprevent changing onlyencryptcreds of existing remote
Joey Hess [Thu, 21 Aug 2025 17:47:50 +0000 (13:47 -0400)]
prevent changing onlyencryptcreds of existing remote

That would break accessing data already stored in the remote, the same
as changing encryption type would do.

Sponsored-by: Jack Hill
6 months agoDon't allow the type of encryption of an existing special remote to be changed.
Joey Hess [Thu, 21 Aug 2025 17:41:00 +0000 (13:41 -0400)]
Don't allow the type of encryption of an existing special remote to be changed.

eg, git-annex enableremote foo encryption=none will not remove encryption,
and other encryption= settings don't change the type of encryption used.
Either of which would render data stored in a special remote inaccessible.

Probably fixes reversion introduced in
71f78fe45dc91dbef0bedd79b33d6a9fed85704d.
That commit got rid of the hasEncryptionConfig check, which I think would
have detected this before. I've not gone back to verify that.

Sponsored-by: mycroft
6 months agoRemoved support for git versions older than 2.22.
Joey Hess [Thu, 21 Aug 2025 15:20:20 +0000 (11:20 -0400)]
Removed support for git versions older than 2.22.

Which fixed an OOM with unlocked files.

Debian oldoldstable is the oldest version of git that git-annex needs to
support, since it's used in the amd64ancient build. That has 2.30.

At this point, the only complication git-annex for an bug in old
versions of git is that git bundle was broken before git 2.31.
That prevents git-remote-annex from working with git 2.30.

Sponsored-by: Luke T. Shumaker
6 months agocleanup too long line
Joey Hess [Thu, 21 Aug 2025 15:14:19 +0000 (11:14 -0400)]
cleanup too long line

6 months agoremove git version check for adjusted branch
Joey Hess [Thu, 21 Aug 2025 15:05:41 +0000 (11:05 -0400)]
remove git version check for adjusted branch

2686d2d7ea44d9b5d8243da6fc9f2df1d2441a71 made git older than 2.5 not be
supported, so this check for an older version is not longer needed.

Sponsored-by: Kevin Mueller
6 months agoRemoved support for git versions older than 2.5.
Joey Hess [Thu, 21 Aug 2025 15:04:26 +0000 (11:04 -0400)]
Removed support for git versions older than 2.5.

This entirely removes Git.BuildVersion, which avoids the possibility that
git-annex will behave differently based on the version of git it was built
with, rather than the version it's used with.

Debian oldoldstable is the oldest version of git that git-annex needs to
support, since it's used in the amd64ancient build.

cabal configure will fail if the git version is too old.

Sponsored-by: Nicholas Golder-Manning
6 months agoonlyencryptcreds=yes
Joey Hess [Wed, 20 Aug 2025 19:14:01 +0000 (15:14 -0400)]
onlyencryptcreds=yes

initremote: When onlyencryptcreds=yes is used along with embedcreds=yes,
and encryption is enabled, only encrypt the embedded creds, without
encrypting the content of the special remote.

Useful for exporttree=yes/importtree=yes remotes.

Sponsored-by: Joshua Antonishen
6 months agobug
Joey Hess [Wed, 20 Aug 2025 18:58:44 +0000 (14:58 -0400)]
bug

6 months agobug
Joey Hess [Wed, 20 Aug 2025 18:35:27 +0000 (14:35 -0400)]
bug

6 months agoremove now unused parameters
Joey Hess [Wed, 20 Aug 2025 18:23:03 +0000 (14:23 -0400)]
remove now unused parameters

6 months agocomment
Joey Hess [Wed, 20 Aug 2025 18:16:29 +0000 (14:16 -0400)]
comment

6 months agofixed
Joey Hess [Wed, 20 Aug 2025 17:36:39 +0000 (13:36 -0400)]
fixed

6 months agoimprove error when unable to reverse adjust merge
Joey Hess [Wed, 20 Aug 2025 17:35:31 +0000 (13:35 -0400)]
improve error when unable to reverse adjust merge

Give the user a hint about what to do, as well as what they should have
done to avoid the problem.

6 months agoerror out when another branch has been manually merged into the adjusted branch
Joey Hess [Wed, 20 Aug 2025 17:28:03 +0000 (13:28 -0400)]
error out when another branch has been manually merged into the adjusted branch

This avoids losing the merge commit when re-running git-annex adjust in the
adjusted branch.

It also makes git-annex sync error out, rather than displaying a warning
and exiting successfully.

Sponsored-by: Leon Schuermann on Patreon
6 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 20 Aug 2025 16:31:35 +0000 (12:31 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

6 months agoAdded a comment: Reproduce Issue
jcjgraf [Mon, 18 Aug 2025 19:02:35 +0000 (19:02 +0000)]
Added a comment: Reproduce Issue

6 months agoAdded a comment: encryption=credsonly
stv0g [Mon, 18 Aug 2025 17:07:40 +0000 (17:07 +0000)]
Added a comment: encryption=credsonly

6 months agobug
Joey Hess [Fri, 15 Aug 2025 22:11:19 +0000 (18:11 -0400)]
bug

6 months agoupdate
Joey Hess [Fri, 15 Aug 2025 15:54:42 +0000 (11:54 -0400)]
update

6 months agowarn and refuse to autoenable a special remote when name is in use
Joey Hess [Thu, 14 Aug 2025 15:05:42 +0000 (11:05 -0400)]
warn and refuse to autoenable a special remote when name is in use

Improve behavior when there are special remotes configured with
autoenable=yes with names that conflict with other remotes.

The use of remoteList' is to avoid using the cached remote list in the case
where there are two special remotes both configured to autoenable and both
with the same name. Once the 1st is autoenabled, this makes reload the
remote list and so see the 1st, and so refuse to autoenable the second.

This adds a little bit of overhead, but it should be sufficiently small not
to need optimising.

Sponsored-by: Dartmouth College's OpenNeuro project
6 months agofollowup
Joey Hess [Thu, 14 Aug 2025 14:15:29 +0000 (10:15 -0400)]
followup

6 months agoclose
Joey Hess [Thu, 14 Aug 2025 13:56:15 +0000 (09:56 -0400)]
close

6 months agosimplify
Joey Hess [Thu, 14 Aug 2025 13:22:44 +0000 (09:22 -0400)]
simplify

6 months agoinfo: Added --show option
Joey Hess [Wed, 13 Aug 2025 20:49:21 +0000 (16:49 -0400)]
info: Added --show option

To pick which parts of the info to calculate and display.

Sponsored-by: Dartmouth College's DANDI project
6 months agocomment
Joey Hess [Wed, 13 Aug 2025 20:04:46 +0000 (16:04 -0400)]
comment

6 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 13 Aug 2025 19:33:42 +0000 (15:33 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

6 months agoclose
Joey Hess [Wed, 13 Aug 2025 19:33:39 +0000 (15:33 -0400)]
close

6 months agoBump aws build dependency to 0.24.1
Joey Hess [Wed, 13 Aug 2025 19:30:47 +0000 (15:30 -0400)]
Bump aws build dependency to 0.24.1

That's the version in Debian stable now. And this removes a lot of ifdefs.

Also I'm pretty sure a recent commit broke building with older versions of
aws, although that could be fixed with sufficent testing.

6 months agoprobe AWS datacenter
Joey Hess [Wed, 13 Aug 2025 19:21:22 +0000 (15:21 -0400)]
probe AWS datacenter

S3: When initremote is given the name of a bucket that already exists,
automatically set datacenter to the right value, rather than needing it to
be explicitly set.

This needs aws-0.23. But, initremote stores the datacenter value, so
a remote set up this way can be used with git-annex built with an older aws.

This is not done when signature=anonymous, because in that case,
using AWS.defaultRegion works fine for accessing buckets on other
datacenters.

It feels a bit round-about to need to do this probing. But without it,
the problem seems to be that, with a v4 signature, the location constraint
is included in the Authorization header. When that is the wrong location,
AWS S3 rejects it. I do wonder though if there is an easier way that I
am currently missing.

Sponsored-by: Dartmouth College's DANDI project
6 months agofix default region reversion
Joey Hess [Wed, 13 Aug 2025 18:19:36 +0000 (14:19 -0400)]
fix default region reversion

Commit 215640096f6a3469c119d50373f3035cf19fe130 caused the default
region for S3 to change to us-east-2. This was due to regionInfo having
an undocumented property that the first item in the list is for the
default region.

Avoid relying on regionInfo for defaultRegion.

Sponsored-by: Dartmouth College's DANDI project
6 months agowishlist of faster/specific info for a remote
yarikoptic [Wed, 13 Aug 2025 17:49:20 +0000 (17:49 +0000)]
wishlist of faster/specific info for a remote

6 months agoS3: Default to signature=v4 when using an AWS endpoint
Joey Hess [Wed, 13 Aug 2025 17:18:35 +0000 (13:18 -0400)]
S3: Default to signature=v4 when using an AWS endpoint

* S3: Default to signature=v4 when using an AWS endpoint, since some
  AWS regions need v4 and all support it. When host= is used to specify
  a different S3 host, the default remains signature=v2.
* webapp: Support setting up S3 buckets in regions that need v4
  signatures.

For the webapp, went ahead and added all current S3 regions
(except govcloud, which  is not usable by everyone).

Sponsored-by: Dartmouth College's DANDI project
6 months agodocument "anonymous" in ValueDesc
Joey Hess [Wed, 13 Aug 2025 16:51:27 +0000 (12:51 -0400)]
document "anonymous" in ValueDesc

6 months agocomment
Joey Hess [Wed, 13 Aug 2025 16:50:05 +0000 (12:50 -0400)]
comment

6 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 12 Aug 2025 18:26:29 +0000 (14:26 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

6 months ago(no commit message)
Michael [Mon, 11 Aug 2025 03:37:34 +0000 (03:37 +0000)]

6 months agoadd https://pypi.org/project/git-annex-remote-internxt/
Joey Hess [Fri, 8 Aug 2025 20:10:47 +0000 (16:10 -0400)]
add https://pypi.org/project/git-annex-remote-internxt/

6 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 8 Aug 2025 20:10:02 +0000 (16:10 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

6 months agoAdded a comment: repodata is empty again :(
evgeni [Fri, 8 Aug 2025 12:49:42 +0000 (12:49 +0000)]
Added a comment: repodata is empty again :(

7 months agostack.yaml: Update to lts-24.2.
Joey Hess [Mon, 4 Aug 2025 18:28:47 +0000 (14:28 -0400)]
stack.yaml: Update to lts-24.2.

7 months agoAdd YouTube link
nobodyinperson [Mon, 4 Aug 2025 08:22:12 +0000 (08:22 +0000)]
Add YouTube link

7 months agoUpdated the S3-special-remote example and prose based on recent B2 experience
branchable.git-annex@cd7b2a7420674f7ca1d0ff0a450d466c47cf6684 [Sun, 3 Aug 2025 11:27:56 +0000 (11:27 +0000)]
Updated the S3-special-remote example and prose based on recent B2 experience

7 months agocomment
Joey Hess [Fri, 1 Aug 2025 17:57:50 +0000 (13:57 -0400)]
comment

7 months agoreword
Joey Hess [Fri, 1 Aug 2025 17:55:38 +0000 (13:55 -0400)]
reword

7 months agolink to new page
Joey Hess [Fri, 1 Aug 2025 17:52:29 +0000 (13:52 -0400)]
link to new page

7 months agoadd section on security
Joey Hess [Fri, 1 Aug 2025 17:51:25 +0000 (13:51 -0400)]
add section on security

7 months agoinline didn't work due to extension
Joey Hess [Fri, 1 Aug 2025 17:46:53 +0000 (13:46 -0400)]
inline didn't work due to extension

7 months agolayout
Joey Hess [Fri, 1 Aug 2025 17:45:39 +0000 (13:45 -0400)]
layout

7 months agoadd example git-annex-p2p-unix-sockets program and end-user docs
Joey Hess [Fri, 1 Aug 2025 17:43:23 +0000 (13:43 -0400)]
add example git-annex-p2p-unix-sockets program and end-user docs

7 months agoimprove AuthToken display in P2P --debug
Joey Hess [Fri, 1 Aug 2025 16:58:03 +0000 (12:58 -0400)]
improve AuthToken display in P2P --debug

Using an empty string to obscure the AuthToken made it impossible to
tell if one was really being presented or not.

7 months agoMerge branch 'master' into genericp2p
Joey Hess [Fri, 1 Aug 2025 16:10:33 +0000 (12:10 -0400)]
Merge branch 'master' into genericp2p

7 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 31 Jul 2025 19:21:22 +0000 (15:21 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

7 months agoupdate design doc with changes from genericp2p branch
Joey Hess [Thu, 31 Jul 2025 19:20:28 +0000 (15:20 -0400)]
update design doc with changes from genericp2p branch

That branch is basically ready to merge, but needs more testing in a
chicken and egg situation.

7 months agoAdded a comment
yarikoptic [Thu, 31 Jul 2025 19:07:57 +0000 (19:07 +0000)]
Added a comment

7 months agoavoid broken pipe zombies
Joey Hess [Thu, 31 Jul 2025 18:57:51 +0000 (14:57 -0400)]
avoid broken pipe zombies

hClose crashes if the pipe is broken, preventing waiting for the process

7 months agoremotedaemon support for generic P2P transports
Joey Hess [Thu, 31 Jul 2025 18:37:24 +0000 (14:37 -0400)]
remotedaemon support for generic P2P transports

RemoteDaemon.Transport.Tor was refactored into this, and most of the
code is reused between them.

getSocketFile does not yet deal with repositories on crippled
filesystems that don't support sockets. Annex.Ssh detects that and
allows the user to set an environment variable, and something similar
could be done here.

And it does not deal with a situation where there is no path to the
socket file that is not too long. In that situation it would crash out
I suppose. Probably though, remotedaemon is ran from the top of the
repo, and in that case the path is just ".git/annex/p2p/<md5>" so nice
and short.

This seems to mostly work. But I don't yet have a working git-annex-p2p-
command to test it with.

And with my not quite working git-annex-p2p-foo test script, running
remotedaemon results in an ever-growing number of zombie processes
that it's not waiting on.

7 months agochanged design for p2p generic socket
Joey Hess [Thu, 31 Jul 2025 17:18:30 +0000 (13:18 -0400)]
changed design for p2p generic socket

Having the git-annex-p2p-<netname> command output the socket filename
left git-annex scrambling to listen to it in order to not miss incoming
connections. And if the command uses something like socat UNIX-CONNECT,
that expects the socket to be accepting connections and errors out when
it's not, that would be a problem.

Rather than complicating the protocol with git-annex needing to send
back a message when it's listening to the socket, simplified it by
having git-annex provide the socket path to the command.

This does mean that, if a P2P network has its own place it expects to
find a socket file, the git-annex-p2p-<netname> command would need to
somehow arrange for it to use the git-annex socket path. A symlink would
be one way to handle that situation.

7 months agoAdd yann's TdF talk about life in git annex
Yann Büchau [Thu, 31 Jul 2025 16:25:31 +0000 (18:25 +0200)]
Add yann's TdF talk about life in git annex

7 months agoadd git-remote-p2p-annex
Joey Hess [Wed, 30 Jul 2025 19:25:17 +0000 (15:25 -0400)]
add git-remote-p2p-annex

Added git-remote-p2p-annex, which allows git pull and push to P2P networks
provided by external commands.

This is a refactor of git-remote-tor-annex, and should just work. Except
possibly for quirks with the address parsing. I've checked that the address
parsing basically works.

One thing I don't understand is why git-remote-tor-annex removes "/*" from
the end of the address. The git history does not provide any hints. So I
didn't make git-remote-p2p-annex do the same. Maybe that is needed in some
situation? But, a P2P address could contain "/", so removing it would be a
problem. I can't see anything in gitremote-helpers(7) about why the url
might get such a thing added to the end of it. My guess is that is not
needed for tor either (but does no harm there since onion addresses never
contain "/").

At this point, the implementation of generic P2P transports needs only
remotedaemon support.

7 months agouse Annex.ExternalAddonProcess for P2P.Generic processes
Joey Hess [Wed, 30 Jul 2025 18:46:37 +0000 (14:46 -0400)]
use Annex.ExternalAddonProcess for P2P.Generic processes

These are another sort of external addon process, and this makes several
things work including shell scripts on windows. And it makes for nicer
error messages when the command is not in the path.

Note that the refactored startExternalAddonProcess used by this
does not use propGitEnv to set git environment variables in the
environment. Unlike startExternalAddonProcessProtocol which does.
This is because it runs in IO and does not have access to that
information. But also, I don't think that P2P.Generic processes need
that.

7 months agop2p --enable
Joey Hess [Wed, 30 Jul 2025 18:08:26 +0000 (14:08 -0400)]
p2p --enable

p2p: Added --enable option, which can be used to enable P2P networks
provided by external commands git-annex-p2p-<netname>

Made git-annex p2p --enable tor behave the same as git-annex enable-tor,
to make tor a bit less of a special case. However, it canot be run as root,
since it cannot take the user id parameter.

7 months agosupport P2PAnnex in connectPeer
Joey Hess [Wed, 30 Jul 2025 17:21:29 +0000 (13:21 -0400)]
support P2PAnnex in connectPeer

This is probably enough to support accessing remotes using p2p-annex:: urls.
Not tested yet of course since there is not yet support for serving the
other side of such a connection, or for setting up such a connection.

P2P.Generic has an implementation of the whole interface to the
git-annex-p2p-<netname> commands.

7 months agoadd connProcess to P2PConnection
Joey Hess [Wed, 30 Jul 2025 16:25:59 +0000 (12:25 -0400)]
add connProcess to P2PConnection

When using the new generic P2P transport to open an outgoing connection
to a peer, this will hold the pid of the git-annex-p2p-<netname>
command.

closeConnection simply waits for it. Rather than relying on garbage
collection of the closed handles to close it.

In Remote.Helper.Ssh, connProcess is set to Nothing, even though there
is a similar process being used there. That code stores the pid in
OpenConnection instead, and handles waiting for it itself. A bit ugly,
but not worth cleaning up at this point, maybe later.

7 months agoAdded a comment: Use an older version e.g. from archive.org
nobodyinperson [Wed, 30 Jul 2025 16:17:44 +0000 (16:17 +0000)]
Added a comment: Use an older version e.g. from archive.org

7 months agoadd P2PAnnex constructor
Joey Hess [Wed, 30 Jul 2025 16:02:33 +0000 (12:02 -0400)]
add P2PAnnex constructor

This is for p2p-annex:: urls that will use the new generic P2P
transport.

In addressCredsFile, threw in an url encoding of any non-alphanumeric
characters that are in the address. This is to avoid any possible path
traversal attacks via a p2p-annex:: url, since the address part of it
could contain any characters. And, went ahead and did the same url
encoding of tor-annex:: urls, even though tor onion addresses are all
alphanumerics, on the off chance that might avoid a similar problem.
(It does not seem likely enough to treat it as a security hole.)

7 months agoAdded a comment: Cataline build missing
h0b0 [Wed, 30 Jul 2025 15:19:06 +0000 (15:19 +0000)]
Added a comment: Cataline build missing

7 months agodocument output as a single line
Joey Hess [Tue, 29 Jul 2025 18:26:10 +0000 (14:26 -0400)]
document output as a single line

7 months agorename design page
Joey Hess [Tue, 29 Jul 2025 18:24:05 +0000 (14:24 -0400)]
rename design page

7 months agodocumentation for generic P2P transports
Joey Hess [Tue, 29 Jul 2025 18:22:25 +0000 (14:22 -0400)]
documentation for generic P2P transports

7 months agodesign for p2p socket transport
Joey Hess [Tue, 29 Jul 2025 18:00:21 +0000 (14:00 -0400)]
design for p2p socket transport

7 months agoAdded a comment: fsck can do this
apoelstra [Thu, 24 Jul 2025 14:44:52 +0000 (14:44 +0000)]
Added a comment: fsck can do this

7 months agoadd news item for git-annex 10.20250721
Joey Hess [Tue, 22 Jul 2025 18:11:53 +0000 (14:11 -0400)]
add news item for git-annex 10.20250721

7 months agoreleasing package git-annex version 10.20250721
Joey Hess [Tue, 22 Jul 2025 18:11:47 +0000 (14:11 -0400)]
releasing package git-annex version 10.20250721

7 months agoAdded a comment: Works!
mih [Tue, 22 Jul 2025 13:31:21 +0000 (13:31 +0000)]
Added a comment: Works!

7 months agoprep for release of 10.20250721
Joey Hess [Mon, 21 Jul 2025 18:24:22 +0000 (14:24 -0400)]
prep for release of 10.20250721

7 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 21 Jul 2025 18:16:35 +0000 (14:16 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

7 months agoAdded a comment: Workaround for default wanted content?
nobodyinperson [Mon, 21 Jul 2025 18:12:59 +0000 (18:12 +0000)]
Added a comment: Workaround for default wanted content?

7 months agorun reconcileStaged even in smudge clean filter, using alternate code path
Joey Hess [Mon, 21 Jul 2025 18:10:26 +0000 (14:10 -0400)]
run reconcileStaged even in smudge clean filter, using alternate code path

Improved workaround for git 2.50 bug, avoding an occasional test suite
failure, as well as some situations where an unlocked file did not get
populated when adding another file to the repository with the same content.

This uses the alternate code path that was already using when there was
a conflict. Since that code path is not able to record its work,
it will redo the same work next time. If the only way reconcileStaged
is getting run is via the smudge clean filter, that could result in
more and more changes getting processed redundantly each time. Once
some other git-annex command runs and calls reconcileStaged, it
will stop redoing that work. I don't think the extra work will be a
problem.

7 months agomake --keep-failures show full path to test repo
Joey Hess [Mon, 21 Jul 2025 16:51:57 +0000 (12:51 -0400)]
make --keep-failures show full path to test repo

Otherwise, had to guess which of several subdirectories was the right
one.

7 months agofixed build failure
Joey Hess [Mon, 21 Jul 2025 16:27:39 +0000 (12:27 -0400)]
fixed build failure

7 months agofix build with OsPath build flag
Joey Hess [Mon, 21 Jul 2025 16:26:45 +0000 (12:26 -0400)]
fix build with OsPath build flag

7 months agofix build warning
Joey Hess [Mon, 21 Jul 2025 16:25:17 +0000 (12:25 -0400)]
fix build warning

7 months agoresponse
Joey Hess [Mon, 21 Jul 2025 16:20:48 +0000 (12:20 -0400)]
response

7 months agoAdd --url option and url= preferred content expression
Joey Hess [Mon, 21 Jul 2025 16:13:40 +0000 (12:13 -0400)]
Add --url option and url= preferred content expression

To match content that is recorded as present in an url.

Note that, this cannot ask remotes to provide an url using whereisKey, like
whereis does. Because preferred content expressions need to match the same
from multiple perspectives, and the remote would not always be available.

That's why the docs say "recorded as present", but still this may be
surprising to some who see an url in whereis output and are surprised they
cannot match on it.

The use of getDownloader is to strip the downloader prefix from urls like
"yt:". Note that, when OtherDownloader is used, this strips the ":" prefix,
and allows matching on those urls too.

7 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 21 Jul 2025 14:53:08 +0000 (10:53 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

7 months agotodo
Joey Hess [Sat, 19 Jul 2025 20:45:51 +0000 (16:45 -0400)]
todo

7 months agoAdded a comment
jnkl [Sat, 19 Jul 2025 09:05:46 +0000 (09:05 +0000)]
Added a comment